package com.qfedu.smart_community.entity;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * @TableName receiving_record
 */
public class ReceivingRecord implements Serializable {
    /**
     * 收费详细id
     */
    private Integer receivablesDetailId;

    /**
     * 收费流水号
     */
    private String tollSerialNumber;

    /**
     * 房间编号
     */
    private Integer roomId;

    /**
     * 业主姓名
     */
    private String proprietorName;

    /**
     * 收费名称
     */
    private String chargeName;

    /**
     * 收费金额
     */
    private Double tollPrice;

    /**
     * 收款方式  1:现金    2:微信     3:支付宝   4:银行卡  5预交金抵扣
     */
    private Integer payMode;

    /**
     * 收费类型0普通 1押金-1预收金
     */
    private Integer chargeType;

    /**
     * 收支状态:0收入   1支出 2抵扣支出
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 收费日期
     */
    private Date tollTime;

    /**
     * 收费人
     */
    private String tollGatherer;

    private static final long serialVersionUID = 1L;

    /**
     * 收费详细id
     */
    public Integer getReceivablesDetailId() {
        return receivablesDetailId;
    }

    /**
     * 收费详细id
     */
    public void setReceivablesDetailId(Integer receivablesDetailId) {
        this.receivablesDetailId = receivablesDetailId;
    }

    /**
     * 收费流水号
     */
    public String getTollSerialNumber() {
        return tollSerialNumber;
    }

    /**
     * 收费流水号
     */
    public void setTollSerialNumber(String tollSerialNumber) {
        this.tollSerialNumber = tollSerialNumber;
    }

    /**
     * 房间编号
     */
    public Integer getRoomId() {
        return roomId;
    }

    /**
     * 房间编号
     */
    public void setRoomId(Integer roomId) {
        this.roomId = roomId;
    }

    /**
     * 业主姓名
     */
    public String getProprietorName() {
        return proprietorName;
    }

    /**
     * 业主姓名
     */
    public void setProprietorName(String proprietorName) {
        this.proprietorName = proprietorName;
    }

    /**
     * 收费名称
     */
    public String getChargeName() {
        return chargeName;
    }

    /**
     * 收费名称
     */
    public void setChargeName(String chargeName) {
        this.chargeName = chargeName;
    }

    /**
     * 收费金额
     */
    public Double getTollPrice() {
        return tollPrice;
    }

    /**
     * 收费金额
     */
    public void setTollPrice(Double tollPrice) {
        this.tollPrice = tollPrice;
    }

    /**
     * 收款方式  1:现金    2:微信     3:支付宝   4:银行卡  5预交金抵扣
     */
    public Integer getPayMode() {
        return payMode;
    }

    /**
     * 收款方式  1:现金    2:微信     3:支付宝   4:银行卡  5预交金抵扣
     */
    public void setPayMode(Integer payMode) {
        this.payMode = payMode;
    }

    /**
     * 收费类型0普通 1押金-1预收金
     */
    public Integer getChargeType() {
        return chargeType;
    }

    /**
     * 收费类型0普通 1押金-1预收金
     */
    public void setChargeType(Integer chargeType) {
        this.chargeType = chargeType;
    }

    /**
     * 收支状态:0收入   1支出 2抵扣支出
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 收支状态:0收入   1支出 2抵扣支出
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 收费日期
     */
    public Date getTollTime() {
        return tollTime;
    }

    /**
     * 收费日期
     */
    public void setTollTime(Date tollTime) {
        this.tollTime = tollTime;
    }

    /**
     * 收费人
     */
    public String getTollGatherer() {
        return tollGatherer;
    }

    /**
     * 收费人
     */
    public void setTollGatherer(String tollGatherer) {
        this.tollGatherer = tollGatherer;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ReceivingRecord other = (ReceivingRecord) that;
        return (this.getReceivablesDetailId() == null ? other.getReceivablesDetailId() == null : this.getReceivablesDetailId().equals(other.getReceivablesDetailId()))
            && (this.getTollSerialNumber() == null ? other.getTollSerialNumber() == null : this.getTollSerialNumber().equals(other.getTollSerialNumber()))
            && (this.getRoomId() == null ? other.getRoomId() == null : this.getRoomId().equals(other.getRoomId()))
            && (this.getProprietorName() == null ? other.getProprietorName() == null : this.getProprietorName().equals(other.getProprietorName()))
            && (this.getChargeName() == null ? other.getChargeName() == null : this.getChargeName().equals(other.getChargeName()))
            && (this.getTollPrice() == null ? other.getTollPrice() == null : this.getTollPrice().equals(other.getTollPrice()))
            && (this.getPayMode() == null ? other.getPayMode() == null : this.getPayMode().equals(other.getPayMode()))
            && (this.getChargeType() == null ? other.getChargeType() == null : this.getChargeType().equals(other.getChargeType()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getTollTime() == null ? other.getTollTime() == null : this.getTollTime().equals(other.getTollTime()))
            && (this.getTollGatherer() == null ? other.getTollGatherer() == null : this.getTollGatherer().equals(other.getTollGatherer()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getReceivablesDetailId() == null) ? 0 : getReceivablesDetailId().hashCode());
        result = prime * result + ((getTollSerialNumber() == null) ? 0 : getTollSerialNumber().hashCode());
        result = prime * result + ((getRoomId() == null) ? 0 : getRoomId().hashCode());
        result = prime * result + ((getProprietorName() == null) ? 0 : getProprietorName().hashCode());
        result = prime * result + ((getChargeName() == null) ? 0 : getChargeName().hashCode());
        result = prime * result + ((getTollPrice() == null) ? 0 : getTollPrice().hashCode());
        result = prime * result + ((getPayMode() == null) ? 0 : getPayMode().hashCode());
        result = prime * result + ((getChargeType() == null) ? 0 : getChargeType().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getTollTime() == null) ? 0 : getTollTime().hashCode());
        result = prime * result + ((getTollGatherer() == null) ? 0 : getTollGatherer().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", receivablesDetailId=").append(receivablesDetailId);
        sb.append(", tollSerialNumber=").append(tollSerialNumber);
        sb.append(", roomId=").append(roomId);
        sb.append(", proprietorName=").append(proprietorName);
        sb.append(", chargeName=").append(chargeName);
        sb.append(", tollPrice=").append(tollPrice);
        sb.append(", payMode=").append(payMode);
        sb.append(", chargeType=").append(chargeType);
        sb.append(", status=").append(status);
        sb.append(", remark=").append(remark);
        sb.append(", tollTime=").append(tollTime);
        sb.append(", tollGatherer=").append(tollGatherer);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}